<?php

App::uses('AppModel', 'Model');
App::uses('LogsDao','Model');

class UsuariosDao extends AppModel {
	
	public $useTable = false;
	var $logsDao;
	
	function __construct(){
		$this->logsDao = new LogsDao();
	}
  
    public function usuarioExiste($usuario,$contraseña){
    	
    	$queryString="SELECT id,usuari,mail,permisos FROM usuaris WHERE (usuari='".$usuario."' OR mail='".$usuario."') AND contrasenya='".$contraseña."' AND actiu=1 LIMIT 0,1 ";
    	$returnValue  = $this->query($queryString);
    	if(empty($returnValue)){ // si no existe ningun usuario con estos datos false
    		return false;
    	}else{
    		return $returnValue[0];
    	}
       	
    }

    public function getContrasenyaPerMail($usuari){
    	
    	$queryString="SELECT contrasenya FROM usuaris WHERE mail='".$usuari."' ";

    	try {
    		$returnValue = $this->query($queryString);

    		if(empty($returnValue)){
    			return false;
    			exit();
    		}
    		return $returnValue[0]->contrasenya;
        		
    	}catch (Exception $e) {
    		$this->logsDao->insert("error",$e->getMessage());
    	}
    	
    }
    
    public function updateNomUsuari($id,$usuari){
    	$queryString = "UPDATE usuaris SET usuari = '".$usuari."' WHERE id =".$id;
    	return returnValueTrue($queryString);
    }
    
    public function updateMail($id,$mail){
    	$queryString = "UPDATE usuaris SET mail = '".$mail."' WHERE id =".$id;
    	return returnValueTrue($queryString);
    }
    
    public function updatePasswordPerId($id,$contraseña){
    	$queryString = "UPDATE usuaris SET contrasenya = '".$contraseña."' WHERE id =".$id;
    	return returnValueTrue($queryString);
    
    }
    
    public function updatePasswordPerMail($mail,$contraseña){
    	$queryString = "UPDATE usuaris SET contrasenya = '".$contraseña."' WHERE mail ='".$mail."'";
    	return returnValueTrue($queryString);
    }
    
 
    public function getInfoUsuari(){
    	 
    }
    
    
    function returnValueTrue($queryString){ // ejecuta un update si es OK devuelve true , si no inserta log (hacer algo mas?)
    	try {
    		$this->query($queryString);
    		return true;
    	}catch (Exception $e) {
    		$this->logsDao->insert("error",$e->getMessage());
    	}
    }
   
    
    
    
}



?>